#ifndef BASE_MESSAGEHANDLER_H_
#define BASE_MESSAGEHANDLER_H_

#include "constructormagic.h"

namespace base {

	struct Message;

	// Messages get dispatched to a MessageHandler

	class MessageHandler
	{
	public:
		virtual void OnMessage(Message* msg) = 0;

	protected:
		MessageHandler() {}
		virtual ~MessageHandler();

	private:
		DISALLOW_COPY_AND_ASSIGN(MessageHandler);
	};

} // namespace base

#endif // BASE_MESSAGEHANDLER_H_
